In recent years, technology known as OpenFlow has been proposed (refer to Non-Patent Document 1). In OpenFlow, communication is taken as end-to-end flow, and path control, recovery from failure, load balancing, and optimization are performed in flow units. An OpenFlow switch functioning as a forwarding node is provided with a secure channel for communication with an OpenFlow controller that is regarded as a control device, and operates according to a flow table in which appropriate addition or rewriting is instructed by the OpenFlow controller. In the flow table are definitions of sets of rules for collation with packet headers, actions (Actions) defining processing content, and flow statistical information (Stats), for each flow (refer to FIG. 10).
FIG. 23 shows an example of action names and action content defined in Non-Patent Document 2. OUTPUT is an action for outputting to a specific port (interface). From SET_VLAN_VID to SET_TP_DST are actions for correcting fields of a packet header.
For example, when an OpenFlow switch receives a packet, an entry is searched for that has a rule (FlowKey) matching header information of the received packet, from the flow table. As a result of the search, in a case where an entry matching the received packet is found, the OpenFlow switch executes processing content described in an Actions field of the entry in question, for the received packet. On the other hand, as a result of the search, in a case where an entry matching the received packet is not found, the OpenFlow switch forwards the received packet to the OpenFlow controller via a secure channel, requests determination of a path of the packet based on source and destination of the received packet, receives a flow entry for realizing this, and updates the flow table. In this way, the OpenFlow switch uses the entry contained in the flow table as a processing rule to perform packet forwarding.